1
ไปไกลกว่าเส้นทางที่ราบรื่น: การจัดการกับข้อผิดพลาด
AI035Lesson 5
00:00

ในรูบี้ การย้าย ออกไปนอกเส้นทางที่ราบรื่น หมายถึงการเปลี่ยนจากตรรกะแบบลำดับชั้นมาสู่ท่าทีป้องกัน โดยที่ข้อผิดพลาดจะถูกมองว่าเป็น วัตถุระดับแรก แทนที่จะเป็นภัยพิบัติที่ทำให้โปรแกรมหยุดทำงาน

1. โครงสร้างของข้อผิดพลาด

รูบี้กำหนดโครงสร้างของข้อผิดพลาดอย่างเป็นระบบ ซึ่งแสดงใน รูปที่ 8.1ทุกข้อผิดพลาดเป็นอินสแตนซ์ของคลาสภายในต้นไม้โครงสร้างนี้ เริ่มต้นจาก Exception รากฐาน ความเข้าใจโครงสร้างนี้มีความสำคัญมาก: ข้อผิดพลาดระดับแอปพลิเคชันโดยทั่วไปจะสืบทอดมาจาก StandardErrorขณะที่ข้อผิดพลาดระดับระบบ (เช่น NoMemoryError) จะสืบทอดโดยตรงจาก Exception.

ExceptionSignalExceptionScriptErrorNoMemoryErrorStandardErrorRuntimeErrorArgumentError

2. ข้อผิดพลาดในฐานะวัตถุข้อมูล

แตกต่างจากภาษาชั้นต่ำที่ข้อผิดพลาดอาจเป็นแค่รหัสกลับคืนเพียงอย่างเดียว รูบี้ บรรจุบริบท—รวมถึงข้อความและเส้นทางการดำเนินงานที่เกิดข้อผิดพลาด—ลงในวัตถุแบบเป็นทางการ ซึ่งทำให้นักพัฒนาสามารถจัดการกับการหยุดชะงักระหว่างรันได้เหมือนกับข้อมูลที่ตรวจสอบและจัดการผ่านการสืบทอดได้

วัตถุประสงค์ทางสถาปัตยกรรม
โครงสร้างแยกแยะความล้มเหลวของระบบอันร้ายแรง (ซึ่งควรไม่ถูกจับ) กับข้อผิดพลาดของแอปพลิเคชันที่สามารถแก้ไขได้ (StandardError)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>